欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

數據結構之棧(四)

Queue.c

1.頭文件的聲明

#include "Queue.h"

2.初始化和銷毀函數的定義

void QueueInit(Que* pq)
{
? ? assert(pq);

? ? pq->head = pq->tail = NULL;
? ? pq->size = 0;
}

void QueueDestroy(Que* pq)
{
? ? assert(pq);

? ? QNode* cur = pq->head;
? ? while (cur)
? ? {
? ? ? ? QNode* next = cur->next;
? ? ? ? free(cur);
? ? ? ? cur = next;
? ? }

? ? pq->head = pq->tail = NULL;
? ? pq->size = 0;
}

3.入隊列和出隊列函數的定義

void QueuePush(Que* pq, QDataType x)
{
? ? assert(pq);
? ? QNode* newnode = (QNode*)malloc(sizeof(QNode));
? ? if (newnode == NULL)
? ? {
? ? ? ? perror("malloc fail");
? ? ? ? exit(-1);
? ? }

? ? newnode->data = x;
? ? newnode->next = NULL;

? ? if (pq->tail == NULL)
? ? {
? ? ? ? pq->head = pq->tail = newnode;
? ? }
? ? else
? ? {
? ? ? ? pq->tail->next = newnode;
? ? ? ? pq->tail = newnode;
? ? }

? ? pq->size++;
}

void QueuePop(Que* pq)
{
? ? assert(pq);//判斷隊列指針指向是否為空
? ? assert(!QueueEmpty(pq));//判斷隊列里面的數據是否為空

? ? if (pq->head->next == NULL)
? ? {
? ? ? ? free(pq->head);
? ? ? ? pq->head = pq->tail = NULL;
? ? }
? ? else
? ? {
? ? ? ? QNode* next = pq->head->next;
? ? ? ? free(pq->head);
? ? ? ? pq->head = next;
? ? }

? ? pq->size--;
}

4.查找隊頭、查找隊尾函數的定義

//查找隊頭元素
QDataType QueueFront(Que* pq)
{
? ? assert(pq);
? ? assert(!QueueEmpty(pq));

? ? return pq->head->data;
}

//查找隊尾元素
QDataType QueueBack(Que* pq)
{
? ? assert(pq);
? ? assert(!QueueEmpty(pq));

? ? return pq->tail->data;
}

5.判空以及長度計算函數的定義

//判斷是否為空
bool QueueEmpty(Que* pq)
{
? ? assert(pq);

? ? return pq->head == NULL;
}

//長度計算
int QueueSize(Que* pq)
{
? ? assert(pq);

? ? return pq->size;
}

(3)Test.c

1.頭文件的聲明

#include "Queue.h"

2.測試函數的定義

void QueueTest() {
? ? Que pq;
? ? QueueInit(&pq);
? ? QueuePush(&pq, 1);
? ? QueuePush(&pq, 2);
? ? QueuePush(&pq, 3);
? ? QueuePush(&pq, 4);
? ? QueuePush(&pq, 5);
? ? while (!QueueEmpty(&pq)) {
? ? ? ? printf("%d ", QueueFront(&pq));
? ? ? ? QueuePop(&pq);
? ? }
? ? QueueDestroy(&pq);
}

?

?

文章鏈接: http://m.qzkangyuan.com/26238.html

文章標題:數據結構之棧(四)

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程

數據結構之棧(三)

2023-12-22 10:05:17

建站教程投稿分享

c語言之fcfs

2024-1-29 13:08:26

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 尉犁县| 工布江达县| 寻乌县| 苏尼特右旗| 同心县| 罗平县| 衡阳县| 海兴县| 晋江市| 额济纳旗| 西乌| 横峰县| 涟水县| 银川市| 呼玛县| 长沙市| 南乐县| 高阳县| 泽州县| 荣昌县| 儋州市| 西乌珠穆沁旗| 塔河县| 长沙县| 东丽区| 通江县| 体育| 青浦区| 方城县| 郯城县| 呈贡县| 台中市| 巴林左旗| 绩溪县| 阿坝| 嘉峪关市| 枝江市| 宜都市| 禄劝| 会泽县| SHOW|